package com.gepengjun.lims.util.JsonResult;

import org.apache.ibatis.annotations.ResultType;
import org.apache.poi.ss.formula.functions.T;

public class ResultUtil {


    /**
     * 默认的操作成功,
     * 提示信息:操作成功
     * data:null;
     * @return
     */
    public static Result success(){
        return new Result<Object>(ResultCode.SUCCESS);
    }

    /**
     *自定义提示信息的操作成功
     * 提示信息:msg
     * data:null
     * @param msg
     * @return
     */
    public static Result success(String msg){
        return new Result<Object>(ResultCode.SUCCESS,msg);
    }

    /**
     * 默认提示信息的操作成功
     * 提示信息:操作成功
     * data:data
     * @param data
     * @return
     */
    public static Result success(Object data){
        return new Result<Object>(ResultCode.SUCCESS,data);
    }

    /**
     * 自定义提示信息的操作成功
     * 提示信息:msg
     * data:data
     * @param msg
     * @param data
     * @return
     */
    public static Result success(String msg,Object data){
        return new Result<Object>(ResultCode.SUCCESS,msg,data);
    }

    /**
     * 默认的操作失败,参照Result
     * @param resultCode
     * @return
     */
    public static Result error(ResultCode resultCode){
        return new Result<Object>(resultCode);
    }

    /**
     * 默认提示信息的操作失败
     * 提示信息:参照result
     * data:data
     * @param resultCode
     * @param data
     * @return
     */
    public static Result error(ResultCode resultCode,Object data){
        return new Result<Object>(resultCode,data);
    }



    /**
     * 自定义提示信息的 操作失败
     * 提示信息:msg
     * data:null
     * @return
     */
    public static Result error(ResultCode resultCode,String msg){
        return new Result<Object>(resultCode,msg);
    }

    /**
     * 带参的自定义提示信息的操作失败
     * @param resultCode
     * @param msg
     * @param data
     * @return
     */
    public static Result error(ResultCode resultCode,String msg,Object data){
        return new Result<Object>(resultCode,msg,data);
    }

    /**
     * 自定义code及msg的操作失败
     * data:null
     * @param code
     * @param msg
     * @return
     */
    public static Result error(int code,String msg){
        return new Result<Object>(code,msg,null);
    }

    /**
     * 带参的自定义code及msg的操作失败
     * @param code
     * @param msg
     * @param data
     * @return
     */
    public static Result error(int code,String msg,Object data){
        return new Result<Object>(code,msg,data);
    }






}
